# Mapping of configurations into GDB host definitions.  This is
# invoked from the autoconf generated configure script.

# This file sets the following shell variables:
#  gdb_host_cpu			generic name of host's CPU
#  gdb_host			name of GDB host definition to use
#  gdb_host_float_format	host's float floatformat, or 0
#  gdb_host_double_format	host's double floatformat, or 0
#  gdb_host_long_double_format	host's long double floatformat, or 0

# Map host cpu into the config cpu subdirectory name.
# The default is $host_cpu.

case "${host_cpu}" in

alpha*)			gdb_host_cpu=alpha ;;
arm*)			gdb_host_cpu=arm ;;
hppa*)			gdb_host_cpu=pa ;;
i[34567]86*)		gdb_host_cpu=i386 ;;
m68*)			gdb_host_cpu=m68k ;;
m88*)			gdb_host_cpu=m88k ;;
mips*)			gdb_host_cpu=mips ;;
powerpc*)		gdb_host_cpu=powerpc ;;
sparcv9 | sparc64)	gdb_host_cpu=sparc ;;
s390*)			gdb_host_cpu=s390 ;;
sh*)			gdb_host_cpu=sh ;;
x86_64*)		gdb_host_cpu=i386 ;;
xscale*)		gdb_host_cpu=arm ;;
m32r*)			gdb_host_cpu=m32r ;;
*)			gdb_host_cpu=$host_cpu ;;

esac

# map host info into gdb names.

case "${host}" in

alpha*-*-osf1*)		gdb_host=alpha-osf1 ;;
alpha*-*-osf2*)		gdb_host=alpha-osf2 ;;
alpha*-*-osf[3456789]*)	gdb_host=alpha-osf3 ;;
alpha*-*-linux*)	gdb_host=alpha-linux ;;
alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
			gdb_host=fbsd ;;
alpha*-*-netbsd* | alpha*-*-knetbsd*-gnu)
			gdb_host=nbsd ;;
alpha*-*-openbsd*)	gdb_host=obsd ;;

arm*-*-linux*)		gdb_host=linux ;;
arm*-*-netbsdelf* | arm*-*-knetbsd*-gnu)
			gdb_host=nbsdelf ;;
arm*-*-netbsd*)		gdb_host=nbsdaout ;;
arm*-*-openbsd*)	gdb_host=nbsdelf ;;

hppa*-*-hiux*)		gdb_host=hppahpux ;;
hppa*-*-hpux10.20)	gdb_host=hpux1020 ;;
hppa*64*-*-hpux11*)	gdb_host=hpux11w ;;
hppa*-*-hpux11*)	gdb_host=hpux11 ;;
hppa*-*-hpux*)		gdb_host=hppahpux ;;
hppa*-*-linux*)		gdb_host=linux ;;
hppa*-*-openbsd*)	gdb_host=obsd ;;

i[34567]86-ncr-*)	gdb_host=ncr3000 ;;
i[34567]86-*-dgux*)	gdb_host=i386v4 ;;
i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu)
			gdb_host=fbsd ;;
i[34567]86-*-netbsdelf* | i[34567]86-*-knetbsd*-gnu)
			gdb_host=nbsdelf ;;
i[34567]86-*-netbsd*)	gdb_host=nbsdaout ;;
i[34567]86-*-go32*)	gdb_host=go32 ;;
i[34567]86-*-msdosdjgpp*) gdb_host=go32 ;;
i[34567]86-*-linux*)	gdb_host=linux ;;
i[34567]86-*-lynxos*)	gdb_host=i386lynx ;;
i[34567]86-*-gnu*)	gdb_host=i386gnu ;;
i[3456]86-*-nto*) 	gdb_host=nto ;;
i[34567]86-*-openbsd[0-2].* | i[34567]86-*-openbsd3.[0-3])
			gdb_host=obsdaout ;;
i[34567]86-*-openbsd*)	gdb_host=obsd ;;
i[34567]86-*-sco3.2v5*)	gdb_host=i386sco5 ;;
i[34567]86-*-sco3.2v4*)	gdb_host=i386sco4 ;;
i[34567]86-*-sco*)	gdb_host=i386sco ;;
i[34567]86-*-solaris*)	gdb_host=i386sol2 ;;
i[34567]86-*-sysv4.2*)	gdb_host=i386v42mp ;;
i[34567]86-*-sysv4*)	gdb_host=i386v4 ;;
i[34567]86-*-sysv5*)	gdb_host=i386v42mp ;;
i[34567]86-*-unixware2*)	gdb_host=i386v42mp ;;
i[34567]86-*-unixware*)	gdb_host=i386v4 ;;
i[34567]86-*-sysv*)	gdb_host=i386v ;;
i[34567]86-*-isc*)	gdb_host=i386v ;;
i[34567]86-*-cygwin*)	gdb_host=cygwin ;;

ia64-*-aix*)		gdb_host=aix ;;
ia64-*-linux*)		gdb_host=linux ;;

m68*-*-linux*)		gdb_host=linux ;;
m68*-*-netbsdelf* | m68*-*-knetbsd*-gnu)
			gdb_host=nbsdelf ;;
m68*-*-netbsd*)		gdb_host=nbsdaout ;;
m68*-*-openbsd*)	gdb_host=obsd ;;

m88*-*-openbsd*)	gdb_host=obsd ;;

mips-sgi-irix5*)	gdb_host=irix5 ;;
mips-sgi-irix6*)	gdb_host=irix6 ;;
mips*-*-linux*)		gdb_host=linux ;;
mips*-*-netbsd* | mips*-*-knetbsd*-gnu)
			gdb_host=nbsd ;;
mips64*-*-openbsd*)	gdb_host=obsd64 ;;

ns32k-*-netbsd*)	gdb_host=nbsdaout ;;

powerpc-*-aix*)		gdb_host=aix ;;
powerpc-*-linux*)	gdb_host=linux ;;
powerpc-*-netbsd* | powerpc-*-knetbsd*-gnu)
			gdb_host=nbsd ;;
powerpc-*-openbsd*)	gdb_host=obsd ;;

powerpc64-*-linux*)     gdb_host=ppc64-linux ;;

rs6000-*-lynxos*)	gdb_host=rs6000lynx ;;
rs6000-*-aix4*)		gdb_host=aix4 ;;
rs6000-*-*)		gdb_host=rs6000 ;;

s390*-*-*)		gdb_host=s390 ;;

sh*-*-netbsdelf* | sh*-*-knetbsd*-gnu)
			gdb_host=nbsd ;;
sh*-*-openbsd*)		gdb_host=obsd ;;

sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
			gdb_host=fbsd ;;
sparc-*-linux*)		gdb_host=linux ;;
sparc64-*-linux*)	gdb_host=linux64 ;;
sparc-*-netbsdelf* | sparc-*-knetbsd*-gnu)
			gdb_host=nbsdelf ;;
sparc-*-netbsdaout*)	gdb_host=nbsdaout ;;
sparc-*-netbsd*)	gdb_host=nbsdaout ;;
sparc64-*-netbsd* | sparc64-*-knetbsd*-gnu)
			gdb_host=nbsd64 ;;
sparc-*-openbsd*)	gdb_host=nbsdelf ;;
sparc64-*-openbsd*)	gdb_host=obsd64 ;;
sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
			gdb_host=sol2
			;;

vax-*-bsd*)		gdb_host=vax ;;
vax-*-netbsdelf* | vax-*-knetbsd*-gnu)
			gdb_host=nbsdelf ;;
vax-*-netbsd*)		gdb_host=nbsdaout ;;
vax-*-openbsd*)		gdb_host=obsd ;;
vax-*-ultrix*)		gdb_host=vax ;;

x86_64-*-linux*)	gdb_host=linux64 ;;
x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
			gdb_host=fbsd64 ;;
x86_64-*-netbsd* | x86_64-*-knetbsd*-gnu)
			gdb_host=nbsd64 ;;
x86_64-*-openbsd*)	gdb_host=obsd64 ;;

m32r*-*-linux*)          gdb_host=linux ;;

esac



# Map the host/cpu onto the floatformat correspondong to C's "float",
# "double" and "long double" types.

case "${host}" in
i[34567]86-*-*)
	gdb_host_float_format="&floatformat_ieee_single_little"
	gdb_host_double_format="&floatformat_ieee_double_little"
	gdb_host_long_double_format="&floatformat_i387_ext"
	;;
hppa*-*-linux*)
	gdb_host_float_format="&floatformat_ieee_single_big"
	gdb_host_double_format="&floatformat_ieee_double_big"
	gdb_host_long_double_format="&floatformat_ieee_double_big"
	;;
*)
	gdb_host_float_format=0
	gdb_host_double_format=0
	gdb_host_long_double_format=0
	;;
esac
